1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatus, and products for data communications among electronic devices within a computer.
2. Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
As computer systems have become increasingly complex an increasing number of internal devices such as, for example, microcontrollers, low-speed peripherals, temperature, fan, or voltage sensors, have been incorporated into modern computers. Such devices are often coupled for data communications via an unreliable wireline data communications bus such as, for example, an Inter-Integrated Circuit (‘I2C’) wireline data communications bus that implements the I2C bus protocol. The I2C bus protocol is a serial computer bus protocol for connecting electronic components inside a computer that was first published in 1982 by Philips. Although the I2C bus protocol is well-known and widely-popular, the I2C bus protocol does have certain limitations. Because of the simple design of the I2C bus protocol, the I2C protocol does not support error checking such as, for example, parity checking, cyclic redundancy checking, error-correcting codes, and so on. Implementing data communications using the I2C bus protocol, therefore, may lead to undiscovered errors being introduced into the data transmitted over an I2C wireline data communications bus. Such undiscovered errors may cause a computer system to malfunction or produce incorrect results.